package com.geek.gkfood.ctrl.facade.bean;

import com.geek.gkdoc.facade.DocField;
import com.geek.gkfood.ctrl.facade.abs.AbstractRequest;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * <h1>执行万能管控请求 req 对象。</h1><br/>
 *
 * <h1><br/><a href="https://u.geekbang.org/subject/arch3/100614201">Java 业务架构实战营：https://u.geekbang.org/subject/arch3/100614201</a></h1><br/><h1><a href="https://gitee.com/ylimhhmily/BizArchPracticeCamp">Java 业务架构实战营代码地址：https://gitee.com/ylimhhmily/BizArchPracticeCamp</a></h1><br/><h1><a href="https://u.geekbang.org/subject/java4th/1001148?source=app_share">高级 Java 工程体系课 2023 版：https://u.geekbang.org/subject/java4th/1001148?source=app_share</a></h1><br/><h1><a href="https://time.geekbang.org/column/intro/100312101?tab=catalog">Dubbo 源码剖析与实战：https://time.geekbang.org/column/intro/100312101?tab=catalog</a></h1>
 *
 * @author hmilyylimh
 * ^_^
 * @version 0.0.1
 * ^_^
 * @date 2023/9/29 14:51
 */
@Setter
@Getter
@ToString(callSuper = true)
public class ExecUniversalCtrlReq extends AbstractRequest {

    private static final long serialVersionUID = -2605364719757028188L;

    @NotBlank
    @DocField(desc = "bean的别名", required = true, sampleVal = "", version = "20230915")
    private String beanName;

    @NotBlank
    @DocField(desc = "bean的java代码，然后转成 base64 后的内容", required = true, sampleVal = "", version = "20230915")
    private String beanScriptBase64;

    @DocField(desc = "bean的java代码方法所需参数", required = true, sampleVal = "", version = "20230915")
    private List<String> args;
}